Phase change random access memory or phase change memory (PCRAM) is a nonvolatile memory technology. The PCRAM technology is based on a structure called a PCE (phase change element), which can be envisioned as a programmable resistor. The state of the PCE is set through a heating and cooling process which is controlled electrically using ohmic heating by passing current through the PCE. To program a PCE memory cell (i.e., transform it from amorphous to crystalline or vice versa), a current pulse is sent through the resistor, heating up the phase change (PC) material over its crystallization temperature and thus lowering its resistance. In a reset mode, a high current pulse is applied to the cell, causing the PC material to melt, and during the subsequent quench cooling it is amorphized.
Writing to a PCRAM cell is typically done by heating the element through electrical ohmic heating that occurs while passing a current through the phase change element (PCE). Alternatively, a heating current could be passed through an external heater located in close proximity of the PCE. The magnitude of the heating process can be controlled by either a current source or voltage source. The initiation and duration of the heating process can be controlled via the source, the word line (WL) or the bit line (BL). Each possible control point has its own drawbacks.
Current writing methods typically include activating the word line, then activating the bit line, and then turning off the bit line. However, one of the problems with current writing methods is with rise time, that is, the voltage can be turned off quickly but could not be turned on quickly.
Due to the parasitic capacitance of the BL, initially the cell current, and thus power, is lower than intended, leading to a slower heating of the cell. In addition, the total energy deposited in the PCE varies with its location in the array, which could introduce additional fluctuations and lead to a broader cell distribution.
It would therefore be desirable for a method or system to provide a means for large scale arrays to allow random access of the arrays varying in size, for example, from multiple millions of bits to arrays of hundreds of bits.